package com.iespring.mapper.app;

import com.iespring.bean.app.cart.bo.FastAddBo;
import com.iespring.bean.app.cart.bo.UpdateCartGoodsNumberBo;
import com.iespring.bean.app.cart.po.MallCart;
import com.iespring.bean.app.cart.vo.CartIndexGoodsInfoVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WxCartMapper {

    // 添加购物车商品
    void addCartGoods(MallCart mallCart);

    // 查找购物车中的商品信息
    List<CartIndexGoodsInfoVo> getCartGoodsList();

    // 修改购物车中某单个商品的数量
    void updateCartGoodsNumber(UpdateCartGoodsNumberBo updateCartGoodsNumberBo);

    // 修改商品的选择状态
    void changeCheckedState(@Param("isChecked") int isChecked, @Param("productIds") Integer[] productIds);

    // 根据id查询购物车商品
    CartIndexGoodsInfoVo getCartGoodsListById(int id);

    // 判断商品是否在购物车中
    Integer isExist(FastAddBo fastAddBo);

    // 获取购物车中的商品数量
    Short getCartGoodsNumber(FastAddBo fastAddBo);

    // 删除购物车中的商品
    void deleteCartGoods(@Param("productIds") List<Integer> productIds);

    List<CartIndexGoodsInfoVo> getCartGoodsListByIdList(List<Integer> cartIds);
}
